<!DOCTYPE HTML PUBLIC "-//ORA//DTD CD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE>[Chapter 24] 24.69 java.io.Writer (JDK 1.1)</TITLE>
<META NAME="author" CONTENT="David Flanagan">
<META NAME="date" CONTENT="Thu Jul 31 16:23:12 1997">
<META NAME="form" CONTENT="html">
<META NAME="metadata" CONTENT="dublincore.0.1">
<META NAME="objecttype" CONTENT="book part">
<META NAME="otheragent" CONTENT="gmat dbtohtml">
<META NAME="publisher" CONTENT="O'Reilly &amp; Associates, Inc.">
<META NAME="source" CONTENT="SGML">
<META NAME="subject" CONTENT="Java">
<META NAME="title" CONTENT="Java in a Nutshell">
<META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript">
</HEAD>
<body vlink="#551a8b" alink="#ff0000" text="#000000" bgcolor="#FFFFFF" link="#0000ee">

<DIV CLASS=htmlnav>
<H1><a href='index.htm'><IMG SRC="gifs/smbanner.gif"
     ALT="Java in a Nutshell" border=0></a></H1>
<table width=515 border=0 cellpadding=0 cellspacing=0>
<tr>
<td width=172 align=left valign=top><A HREF="ch24_68.htm"><IMG SRC="gifs/txtpreva.gif" ALT="Previous" border=0></A></td>
<td width=171 align=center valign=top><B><FONT FACE="ARIEL,HELVETICA,HELV,SANSERIF" SIZE="-1">Chapter 24<br>The java.io Package</FONT></B></TD>
<td width=172 align=right valign=top><A HREF="ch25_01.htm"><IMG SRC="gifs/txtnexta.gif" ALT="Next" border=0></A></td>
</tr>
</table>

&nbsp;
<hr align=left width=515>
</DIV>
<DIV CLASS=sect1>
<h2 CLASS=sect1><A CLASS="TITLE" NAME="JNUT2-CH-24-SECT-69">24.69 java.io.Writer (JDK 1.1)</A></h2>

<DIV CLASS=sect2>
<h3 CLASS=sect2><A CLASS="TITLE" NAME="JNUT2-CH-24-SECT-69.1"></A></h3>
</DIV>

<P CLASS=para>
This abstract class is the superclass of all character
output streams.  It is an analog to <tt CLASS=literal>OutputStream</tt>,
which is the superclass of all byte output streams.
<tt CLASS=literal>Writer</tt> defines the basic <tt CLASS=literal>write()</tt>,
<tt CLASS=literal>flush()</tt>, and <tt CLASS=literal>close()</tt> methods that all
character output streams provide.

<P CLASS=para>
The five versions of the <tt CLASS=literal>write()</tt> method write a
single character, a character array or subarray, or a
string or substring to the destination of the
stream.  The most general version of this method--the one
that writes a specified portion of a character array--is
abstract and must be implemented by all subclasses.  By
default, the other <tt CLASS=literal>write()</tt> methods are implemented
in terms of this abstract one.

<P CLASS=para>
The <tt CLASS=literal>flush()</tt> method is another abstract method that
all subclasses must implement.  It should force any output
buffered by the stream to be written to its destination.  If
that destination is itself a character or byte output
stream, it should invoke the <tt CLASS=literal>flush()</tt> method of the
destination stream as well.

<P CLASS=para>
The <tt CLASS=literal>close()</tt> method is also abstract.  Subclasses
must implement this method so that it flushes and then
closes the current stream, and also closes whatever
destination stream it is connected to.  Once the stream has
been closed, any future calls to <tt CLASS=literal>write()</tt> or
<tt CLASS=literal>flush()</tt> should throw an <tt CLASS=literal>IOException</tt>.

<DIV CLASS=screen>
<P>
<PRE>
public abstract class <tt CLASS=literal>Writer</tt> extends Object {
    // <tt CLASS=literal>Protected Constructors</tt>
            protected <tt CLASS=literal>Writer</tt>();
            protected <tt CLASS=literal>Writer</tt>(Object <tt CLASS=literal>lock</tt>);
    // <tt CLASS=literal>Protected Instance Variables</tt>
            protected Object <tt CLASS=literal>lock</tt>;
    // <tt CLASS=literal>Public Instance Methods</tt>
            public abstract void <tt CLASS=literal>close</tt>() throws IOException;
            public abstract void <tt CLASS=literal>flush</tt>() throws IOException;
            public void <tt CLASS=literal>write</tt>(int <tt CLASS=literal>c</tt>) throws IOException;
            public void <tt CLASS=literal>write</tt>(char[] <tt CLASS=literal>cbuf</tt>) throws IOException;
            public abstract void <tt CLASS=literal>write</tt>(char[] <tt CLASS=literal>cbuf</tt>, int <tt CLASS=literal>off</tt>, int <tt CLASS=literal>len</tt>) throws IOException;
            public void <tt CLASS=literal>write</tt>(String <tt CLASS=literal>str</tt>) throws IOException;
            public void <tt CLASS=literal>write</tt>(String <tt CLASS=literal>str</tt>, int <tt CLASS=literal>off</tt>, int <tt CLASS=literal>len</tt>) throws IOException;
}
</PRE>
</DIV>

</DIV>

<DIV CLASS=sect2>
<h3 CLASS=sect2><A CLASS="TITLE" NAME="JNUT2-CH-24-SECT-69.2">Extended By:</A></h3>

<P CLASS=para>
BufferedWriter, 
CharArrayWriter, 
FilterWriter, 
OutputStreamWriter, 
PipedWriter, 
PrintWriter, 
StringWriter

</DIV>

<DIV CLASS=sect2>
<h3 CLASS=sect2><A CLASS="TITLE" NAME="JNUT2-CH-24-SECT-69.3">Passed To:</A></h3>

<P CLASS=para>
BufferedWriter(), 
CharArrayWriter.writeTo(), 
FilterWriter(), 
PrintWriter()

</DIV>

<DIV CLASS=sect2>
<h3 CLASS=sect2><A CLASS="TITLE" NAME="JNUT2-CH-24-SECT-69.4">Type Of:</A></h3>

<P CLASS=para>
FilterWriter.out

</DIV>

</DIV>


<DIV CLASS=htmlnav>

<P>
<HR align=left width=515>
<table width=515 border=0 cellpadding=0 cellspacing=0>
<tr>
<td width=172 align=left valign=top><A HREF="ch24_68.htm"><IMG SRC="gifs/txtpreva.gif" ALT="Previous" border=0></A></td>
<td width=171 align=center valign=top><a href="index.htm"><img src='gifs/txthome.gif' border=0 alt='Home'></a></td>
<td width=172 align=right valign=top><A HREF="ch25_01.htm"><IMG SRC="gifs/txtnexta.gif" ALT="Next" border=0></A></td>
</tr>
<tr>
<td width=172 align=left valign=top>java.io.WriteAbortedException (JDK 1.1)</td>
<td width=171 align=center valign=top><a href="index/idx_0.htm"><img src='gifs/index.gif' alt='Book Index' border=0></a></td>
<td width=172 align=right valign=top>The java.lang Package</td>
</tr>
</table>
<hr align=left width=515>

<IMG SRC="gifs/smnavbar.gif" USEMAP="#map" BORDER=0> 
<MAP NAME="map"> 
<AREA SHAPE=RECT COORDS="0,0,108,15" HREF="../javanut/index.htm"
alt="Java in a Nutshell"> 
<AREA SHAPE=RECT COORDS="109,0,200,15" HREF="../langref/index.htm" 
alt="Java Language Reference"> 
<AREA SHAPE=RECT COORDS="203,0,290,15" HREF="../awt/index.htm" 
alt="Java AWT"> 
<AREA SHAPE=RECT COORDS="291,0,419,15" HREF="../fclass/index.htm" 
alt="Java Fundamental Classes"> 
<AREA SHAPE=RECT COORDS="421,0,514,15" HREF="../exp/index.htm" 
alt="Exploring Java"> 
</MAP>
</DIV>

</BODY>
</HTML>
